package com.starry.module.system.core.file.service;

import com.starry.module.system.core.file.client.FileClient;
import com.starry.module.system.core.file.entity.FileConfig;

/**
 * 文件客户端工厂
 *
 * @author xiaoke
 */
public interface FileClientFactory {

    /**
     * 获得文件客户端
     *
     * @param configId 配置编号
     * @return 文件客户端
     */
    FileClient getFileClient(Long configId);

    /**
     * 创建文件客户端
     *
     * @param config 文件配置
     */
    FileClient createOrUpdateFileClient(FileConfig config);

    /**
     * 删除文件客户端
     *
     * @param configId 配置编号
     */
    void deleteFileClient(Long configId);
}
